﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыУслугПриИОН
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"4c5ef3c7-6d43-4c23-881e-712f664348a5\", \"Представление\":\"ПредставлениеСправкиОСостоянииРасчетовСБюджетом\"}")]
		ПредставлениеСправкиОСостоянииРасчетовСБюджетом = 0,//Справка о состоянии расчетов по налогам, сборам, пеням и штрафам
		[EnumMember(Value = "{\"Ссылка\":\"5e6a4263-d5ed-429e-a5ef-d360f50b0180\", \"Представление\":\"ПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом\"}")]
		ПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом = 1,//Выписка операций по расчетам с бюджетом
		[EnumMember(Value = "{\"Ссылка\":\"f624f204-de50-44e7-8fc7-0520e5411da0\", \"Представление\":\"ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности\"}")]
		ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности = 2,//Перечень налоговых деклараций и бухгалтерской отчетности
		[EnumMember(Value = "{\"Ссылка\":\"f0f05438-888b-410e-8a4a-14e068502f12\", \"Представление\":\"ПредставлениеАктовСверкиРасчетов\"}")]
		ПредставлениеАктовСверкиРасчетов = 3,//Акт сверки расчетов по налогам, сборам, пеням и штрафам
		[EnumMember(Value = "{\"Ссылка\":\"ee505048-289f-45fd-a433-8a677cf25c55\", \"Представление\":\"ПредставлениеСправкиОбИсполненииОбязанностейПоУплате\"}")]
		ПредставлениеСправкиОбИсполненииОбязанностейПоУплате = 4,//Справка об исполнении обязанностей по уплате налогов
	}
	public static partial class ВидыУслугПриИОН_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПредставлениеСправкиОСостоянииРасчетовСБюджетом = new Guid("2f711e88-4366-a548-4c23-6d434c5ef3c7");//Справка о состоянии расчетов по налогам, сборам, пеням и штрафам
		public static readonly Guid ПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом = new Guid("60d3efa5-0bf5-8001-429e-d5ed5e6a4263");//Выписка операций по расчетам с бюджетом
		public static readonly Guid ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности = new Guid("2005c78f-41e5-a01d-44e7-de50f624f204");//Перечень налоговых деклараций и бухгалтерской отчетности
		public static readonly Guid ПредставлениеАктовСверкиРасчетов = new Guid("e0144a8a-5068-122f-410e-888bf0f05438");//Акт сверки расчетов по налогам, сборам, пеням и штрафам
		public static readonly Guid ПредставлениеСправкиОбИсполненииОбязанностейПоУплате = new Guid("678a33a4-f27c-555c-45fd-289fee505048");//Справка об исполнении обязанностей по уплате налогов
		public static ВидыУслугПриИОН Получить(this ВидыУслугПриИОН Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыУслугПриИОН Получить(this ВидыУслугПриИОН Значение, Guid Ссылка)
		{
			if(Ссылка == ПредставлениеСправкиОСостоянииРасчетовСБюджетом)
			{
				return ВидыУслугПриИОН.ПредставлениеСправкиОСостоянииРасчетовСБюджетом;
			}
			else if(Ссылка == ПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом)
			{
				return ВидыУслугПриИОН.ПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом;
			}
			else if(Ссылка == ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности)
			{
				return ВидыУслугПриИОН.ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности;
			}
			else if(Ссылка == ПредставлениеАктовСверкиРасчетов)
			{
				return ВидыУслугПриИОН.ПредставлениеАктовСверкиРасчетов;
			}
			else if(Ссылка == ПредставлениеСправкиОбИсполненииОбязанностейПоУплате)
			{
				return ВидыУслугПриИОН.ПредставлениеСправкиОбИсполненииОбязанностейПоУплате;
			}
			return ВидыУслугПриИОН.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыУслугПриИОН Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыУслугПриИОН Значение)
		{
			switch (Значение)
			{
				case ВидыУслугПриИОН.ПредставлениеСправкиОСостоянииРасчетовСБюджетом: return ПредставлениеСправкиОСостоянииРасчетовСБюджетом;
				case ВидыУслугПриИОН.ПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом: return ПредставлениеВыпискиОперацийИзКарточкиРасчетыСБюджетом;
				case ВидыУслугПриИОН.ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности: return ПредставлениеПеречняБухгалтерскойИНалоговойОтчетности;
				case ВидыУслугПриИОН.ПредставлениеАктовСверкиРасчетов: return ПредставлениеАктовСверкиРасчетов;
				case ВидыУслугПриИОН.ПредставлениеСправкиОбИсполненииОбязанностейПоУплате: return ПредставлениеСправкиОбИсполненииОбязанностейПоУплате;
			}
			return Guid.Empty;
		}
	}
}